@echo off
chcp 65001 >nul

REM 学生荣誉信息管理系统 - 数据库初始化脚本 (Windows版本)
REM 用于初始化Flask-Migrate数据库迁移环境

echo ==========================================
echo 学生荣誉信息管理系统 - 数据库初始化
echo ==========================================

REM 设置环境变量
set FLASK_APP=wsgi.py
set FLASK_ENV=development

REM 检查Python环境
echo 检查Python环境...
python --version
if %errorlevel% neq 0 (
    echo 错误: Python未安装或未添加到PATH环境变量
    pause
    exit /b 1
)

REM 检查Flask是否安装
echo 检查Flask环境...
python -c "import flask; print('Flask版本:', flask.__version__)"
if %errorlevel% neq 0 (
    echo 错误: Flask未安装
    pause
    exit /b 1
)

python -c "import flask_migrate; print('Flask-Migrate已安装')"
if %errorlevel% neq 0 (
    echo 错误: Flask-Migrate未安装
    pause
    exit /b 1
)

REM 检查当前目录
echo 当前工作目录: %cd%

REM 检查wsgi.py文件是否存在
if not exist "wsgi.py" (
    echo 错误: wsgi.py文件不存在，请确保在项目根目录下运行此脚本
    pause
    exit /b 1
)

REM 检查migrations目录是否已存在
if exist "migrations" (
    echo 警告: migrations目录已存在
    set /p choice="是否要删除现有的migrations目录并重新初始化? (y/N): "
    if /i "%choice%"=="y" (
        echo 删除现有migrations目录...
        rmdir /s /q migrations
    ) else (
        echo 取消操作
        pause
        exit /b 0
    )
)

REM 执行数据库初始化
echo 开始初始化数据库迁移环境...
flask db init

if %errorlevel% equ 0 (
    echo ==========================================
    echo 数据库初始化成功!
    echo migrations目录已创建
    echo ==========================================
    echo 接下来可以运行 migrate_db.bat 进行数据库迁移
) else (
    echo ==========================================
    echo 数据库初始化失败!
    echo 请检查以下可能的问题:
    echo 1. 数据库连接配置是否正确
    echo 2. 数据库服务器是否可访问
    echo 3. 数据库用户权限是否足够
    echo ==========================================
)

pause 